Various communication devices are available today that are capable of packet-based multimedia communication using the IP (Internet Protocol), e.g. fixed or mobile computers and telephones, and multimedia services typically use IP-based transmission of encoded data representing media content, such as e.g. video, audio and text.
IP-TV (Internet Protocol TeleVision) distributes television/video content to a customer/subscriber over a broadband connection, and the content is preferably received by a set-top box connected to a television display, which may be located in the home of the customer/subscriber.
In conventional cable television, all available channels are delivered simultaneously to each subscriber, creating limitations regarding the number of channels and contributing to bandwidth shortages and quality degradation. In IP-TV, on the contrary, only the requested content is transmitted to the viewer's set-top box when a viewer changes the channel or selects a program. IP-TV provides a high picture quality, as well as sound quality, and allows interactivity and viewing “on-demand” of user-selected content.
Standard IP-TV requires a transmission bit-rate of 5-6 Megabit per second and HD IP-TV requires 12-20 Megabit per second. Advantageously, the distribution involves the use of Ethernet, preferably Gigabit Ethernet (GbE) or 10 Gigabit Ethernet (10 GbE), supporting data transfer bit rates of 1 Gigabit per second or 10 Gigabit per second, respectively. Ethernet is the most widely used LAN-standard today, involving a switched layer-2 network standard for connecting several communication devices on a common bus, which may form a segment. Several segments may be connected to one Ethernet switch to form a suitable network topology, e.g. a tree, and Ethernet switches may be interconnected e.g. in a ring topology, thereby connecting a very large number of communication devices in an Ethernet network.
The traffic is transported with up to eight different priorities regarding the QoS (Quality of Service), and the priority is indicated in a CoS (Class of Service) field in the Ethernet packet. The Ethernet packets are formed by a protocol called MAC (Medium Access Control), which encapsulates the payload data by adding a header before the data, the header comprising the destination address and a source address.
An Ethernet network uses two addresses to identify the source and the destination of each packet of data, and the addresses are commonly referred to as MAC-addresses, which are unique for each device. The destination address may specify either a single receiver device or receiver node (unicast), a group of receiver devices (multicast), or the set of all receiver devices (broadcast).
In unicast transmission in a LAN, a packet is sent from a single source to one specified single destination within the LAN, and in broadcast transmission, a packet is sent from one source to a destination that is a set of all devices connected to the LAN. In multicast transmission, a packet is sent from a source that is a set of one or more devices, and to a destination that is a set of one or more devices connected to the LAN. Thus, multicasting denotes a networking technique of delivering the same packet simultaneously to a selected group of clients. Unlike broadcast transmission, a device will receive a multicast transmission only if it belongs to a specific multicast address, and the membership of a multicast group may be dynamic. The destination address in an Ethernet packet indicates if the packet is a broadcast packet to be sent to all connected devices, or a multicast packet to be sent only to a selected group of devices.
An Ethernet switch is a bridge between two or more segments of the Ethernet LAN, the switch having two or more interfacing ports, and unlike a hub it is capable of forwarding a received data packet to only the required port or ports. Thereby, the switch is able to reduce the number of packets on the different segments of the Ethernet LAN, and the load on the segments, increasing the overall performance, as well as reducing the risk of observation by an unauthorised computer connected to a segment of the LAN.
When the switch receives an Ethernet packet through a port, it examines the source address in the header of the packet and records on which port it was received, learning the MAC addresses of the devices connected via each port. The associations between MAC-addresses and the interfacing ports of the switch are stored in a MAC-table located in the switch. Thus, the Ethernet switch learns to associate a MAC address to a specific port and stores the association in a MAC table, and this procedure is commonly denoted MAC learning. However, a stored association is normally deleted from the MAC table after a certain time-out interval.
When a packet is received, the switch also examines the destination address, and scans the MAC table to find the MAC address of the destination address, to see if any association to an interfacing port is stored, e.g. due to a packet having been received earlier from a source address having the same MAC address as the destination address.
If the header indicates a broadcast destination, the packet is transmitted through all output ports of the switch, except the incoming port.
If the header indicates a unicast destination, and the MAC address is found in the MAC table and the address is not associated with the port through which it was received, i.e. the incoming port, the switch forwards the packet to the port associated with this MAC address.
If the header indicates a unicast destination, and the MAC address of the destination address is found in the MAC table, but this address is associated with the incoming port, i.e. the port through which the packet was received, the packet is discarded, since it must already have been received by devices connected to the incoming port.
However, if the header indicates a unicast destination and the MAC address is not found in the MAC table, the location of the destination device is unknown to the switch. The location of the destination device will be unknown to the switch when no packets have been received from the destination device before, or when the MAC address of the destination device has been deleted, e.g. due to a recent restart or a lapsed time-out interval of the MAC table. Since the switch can not find the MAC address in the MAC table, it is unable to determine the port to which the destination device is connected. Therefore, the switch will “broadcast” the packet by sending it through all outgoing ports of the switch, but not trough the incoming port, since the devices connected to this segment of the LAN already must have received the packet. The procedure that the switch transmits a unicast packet having an unknown destination address through all outgoing ports is conventionally referred to as flooding, or unicast flooding. It allows a fast delivery of packets to their destination even the MAC address is unknown to one or more of switches in the LAN, but the drawback is that is consumes more resources.
Thus, the occurrence of unicast flooding is normal, but due to certain events a larger number of packets will be flooded, which may affect the network performance. Such an event may e.g. be a change of the topology due to an addition or a removal of a switch, a link failure, a configuration change of the LAN, or a hardware replacement, and when the topology changes, the stored associations between the MAC addresses and the ports are no longer relevant. Consequently, the switch has to delete all the entries in the MAC table in order do minimize misdirected packets. After a flushing, e.g. a deletion, of the MAC table, the MAC address of the destination of a received packet will be unknown to the switch, and the packet will be “broadcasted” through all the ports, except the incoming port. However, the switch will examine the header of the received packet, determine the source address, and add the association between the MAC address of the source and the incoming port as a new entry in the MAC table, and eventually an updated MAC table will be created.
If multiple paths exist to the same destination in the LAN, and a packet has an unknown destination, flooding would cause the packet to be sent back to the original switch. The Spanning Tree Protocol is designed to prevent loops in the network by blocking redundant paths and ensuring that only one active path exists between every two switches in the network. This is performed by means of bridge protocol data units (BPDUs) identifying paths, i.e. ports, to be blocked. The Spanning Tree Protocol (STP) will reduce the time-out interval of the MAC table in the event of a topology change, and this will increase the occurrence of unknown destination addresses, and cause flooding of the outgoing ports by the received unicast packets. According to the Rapid Spanning Tree Protocol (RSTP), the MAC table will be flushed immediately when the topology changes, which will lead to flooding of received unicast packets, until new entries have been added to the MAC table.
Another commonly used Ethernet protocol is Ethernet Automatic Protection Switching (EAPS), providing an Ethernet ring topology of interconnected Ethernet switches, each switch connecting segments of communication devices. The EAPS provides a fast recovery mechanism when a link failure occurs in the Ethernet ring, with no limitation in the number of nodes in the ring, but a link failure involves flushing of MAC tables, leading to flooding of the switches.
The flooding of unicast packets having unknown MAC addresses will cause excessive overload of the comparatively small downlink ports, thereby leading to a delay or drop of the data traffic that is destined for any of the overloaded downlink ports.
An Ethernet switch receives traffic with different traffic priority regarding the Quality of Service indicated by the Ethernet Class of Service (P-bit) in a received Ethernet packet, or by the IP Class of Service. The traffic is normally scheduled and queued logically in different output priority buffers in the outgoing interfacing ports based on the Class of Service-setting for each packet, and this is also true when the MAC-address is unknown to a switch. Therefore, flooded high-priority traffic will be transported with high priority through every output port of the switch, leading to overload, and to lost and dropped packets.
The consequences of the flooding will be larger when the Ethernet is used for transporting high-priority data traffic, such as IP-TV, VoIP and games. When a failure affects high-priority traffic, the traffic will be flooded on many ports without any receivers, resulting in packet drops in the low-priority traffic, as well as in the high-priority traffic, due to the excessive traffic during the flooding phase
Thus, the flooding of unicast packets presents a problem in Ethernet networks, especially with the high bit-rates of 10 Gigabit Ethernet and Gigabit Ethernet used in connection with e.g. the EAPS and RSTP in multimedia transmission, such as IP-TV and VoIP, leading to disturbances in the transfer of the multimedia content.